The present disclosure generally relates to image data encoding and, more particularly, bit-rate estimation useful to improve rate control in image data encoding.
This section is intended to introduce the reader to various aspects of art that may be related to various aspects of the present techniques, which are described and/or claimed below. This discussion is believed to be helpful in providing the reader with background information to facilitate a better understanding of the various aspects of the present disclosure. Accordingly, it should be understood that these statements are to be read in this light, and not as admissions of prior art.
An electronic device may present visual representations of information as image frames displayed on an electronic display based on image data. Since image data may be received from another electronic device and/or stored in the electronic device, the image data may be encoded (e.g., compressed) to reduce size (e.g., number of bits) and, thus, resources (e.g., transmission bandwidth and/or memory addresses) used to transmit and/or store image data. To display image frames, the electronic device may decode encoded image data and instruct the electronic display to adjust luminance of display pixels based on the decoded image data.
To facilitate encoding, a syntax element binarization process may define a mapping of syntax element values to sequences of binary symbols, or bins. A syntax element binarization (SEB) block may output a bin stream having header and residual syntax elements for each basic processing unit in High Efficiency Video Coding (HEVC), otherwise known as a coding tree unit (CTU).
In some instances, image data may be captured for real-time or near real-time display and/or transmission. For example, when an image sensor (e.g., digital camera) captures image data, an electronic display may shortly thereafter display image frames based on the captured image data. Additionally or alternatively, an electronic device may shortly thereafter transmit the image frames to another electronic device and/or a network. As such, the ability to display and/or transmit in real-time or near real-time may be based at least in part on efficiency with which the image data is encoded. To achieve real-time or near real-time encoding, a SEB block implemented on a main pipeline may operate according to strict timing constraints. For efficiency, a transcode block that encodes the syntax elements of the bin stream outputted from the SEB block may be implemented in a parallel pipeline. However, even when the transcoding block is maintaining average throughput requirements, the transcode block processing may be multiple CTUs behind the SEB block. Accordingly, as will be discussed in more detail below, it may be beneficial to utilize techniques for enhanced decision-making for more effective rate control.